//
//  @ Project : tp1-algo3
//  @ File Name : Human.java
//  @ Date : 04/05/2008
//  @ Author : Claudia, Jorge, Luciana, Luciano
//
package modelo.jugador;

import algo3.core.Teclado;
import modelo.auto.*;


public class JugadorHumano extends Jugador implements Ijugador {
	
	public static final double RPM_MAX_TOLERANCE_FACTOR = 0.9;
	private boolean subiMarcha, bajeMarcha;

	/**
	 * Constructor
	 */
	public JugadorHumano(){
		super();
		
		subiMarcha = false;
		bajeMarcha = false;
	}
	
	public void update(float elapsed) {
		Auto auto = super.getAuto();
		
		auto.update(elapsed);
		updatePosicion();
		leerTeclado();
	}
	
	public void leerTeclado() {
	  	if (Teclado.getInstancia().getEsTeclaArriba()) { 
	  		auto.acelerar();
	  	}
	  		
	  	if (Teclado.getInstancia().getEsTeclaAbajo()) {
	  		auto.frenar();
	  	}
	  	
	  	if (auto.getTipoCaja() == 0){
	  		
		  	if (Teclado.getInstancia().getEsTeclaControl() && !bajeMarcha) {
		  		auto.disminuirMarcha();
		  		bajeMarcha = true;
		  	}
		  	
		  	if (Teclado.getInstancia().getEsTeclaShift() && !subiMarcha) {
		  		auto.aumentarMarcha();
		  		subiMarcha = true;
		  	}
		  	
		  	if (!Teclado.getInstancia().getEsTeclaControl()){
		  		bajeMarcha = false;
		  	}
		  		
		  	if (!Teclado.getInstancia().getEsTeclaShift()){
		  		subiMarcha = false;
		  	}
	  	}
	}
}
